package appagendaprofesores.servlet;

import java.io.IOException;
import java.util.Collection;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import appagendaprofesores.excepcion.DAOExcepcion;
import appagendaprofesores.modelo.CategoriaPadre;
import appagendaprofesores.modelo.Profesor;
import appagendaprofesores.negocio.GestionCategoriasPadre;
import appagendaprofesores.negocio.GestionProfesores;

/**
 * Servlet implementation class GestionarProfesorServlet
 */
@WebServlet("/GestionarProfesorServlet")
public class GestionarProfesorServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public GestionarProfesorServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		this.doPost(request, response);	
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		String procesoS = request.getParameter("pro"); //Parametro enviado aatraves de la URL valor puede ser d o l
		GestionProfesores negocio = new GestionProfesores();
		String pagina = "servicioProfesores.jsp";				
		try {
			
	
			switch (procesoS) {
			case "d":
				//Si es d leera la variable idp que contiene el id del profesor y le adicionara un click en la BD
				int idp = Integer.parseInt(request.getParameter("idp"));
				negocio.aumentaClick(idp);
			case "l":
				//Si es l llamara a la lista de profesores donde el nro declicks sea mayor al numero de click que se le han dado en ese momento.
				Collection<Profesor> lista = negocio.ListaProfesoresPagos();
				//Si es que hubiere una lista esta se que colocara en la memoria para poder ser cargarda en el jsp
				request.setAttribute("listaProfes", lista);
				pagina = "servicioProfesores.jsp";
				break;
			default:
				
				//if(procesoS==null)
					//procesoS= "";
				System.out.println(procesoS);
				System.out.println("entro");
				Collection<Profesor> proList = negocio.ListaProfesores(procesoS);
				request.setAttribute("proList", proList);
				pagina = "reportePagoProfesor.jsp";
				break;
			}			
			
			RequestDispatcher rd = request
					.getRequestDispatcher(pagina);
			rd.forward(request, response);

		} catch (DAOExcepcion e) {
			System.out.println(e.getMessage());
			RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
			rd.forward(request, response);
		}
		
	}

}
